﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace QLNSClient
{
    public partial class uc_Themngach : UserControl
    {
        QLNSServiceReference.QLNSServiceClient sv = new QLNSServiceReference.QLNSServiceClient();
        public uc_Themngach()
        {
            InitializeComponent();
        }

        public void LoadData()
        {
            gv_dsThemngach.DataSource = sv.getNgach();
            lke_Loaingach.Properties.DataSource = sv.getLNG();
            
            btn_LuuNgach.Enabled = false;
            btn_XoaNgach.Enabled = false;
            btn_SuaNgach.Enabled = false;
            btn_Huy.Enabled = false;

            gridView1.Columns[0].Caption = "Mã ngạch";
            gridView1.Columns[1].Caption = "Tên ngạch";
            gridView1.Columns[2].Caption = "Mã loại ngạch";

        }

        private void panelControl2_Paint(object sender, PaintEventArgs e)
        {

        }


        string mangach = "";
        private void gv_dsThemngach_Click(object sender, EventArgs e)
        {
            btn_LuuNgach.Enabled = false;
            btn_XoaNgach.Enabled = true;
            btn_SuaNgach.Enabled = true;
            btn_Huy.Enabled =false;

            txtMangach.Enabled = false;
            txtTenngach.Enabled = false;
            lke_Loaingach.Enabled = false;
            try
            {
                txtMangach.Text = gridView1.GetFocusedRowCellDisplayText(gridView1.Columns[0]).ToString();
                txtTenngach.Text = gridView1.GetFocusedRowCellDisplayText(gridView1.Columns[1]).ToString();
                lke_Loaingach.EditValue = gridView1.GetFocusedRowCellDisplayText(gridView1.Columns[2]).ToString();
                mangach = gridView1.GetFocusedRowCellDisplayText(gridView1.Columns[0]).ToString();
            }
            catch { }
        }

        private void uc_Themngach_Load(object sender, EventArgs e)
        {
            LoadData();
        }

        private void btn_ThemNgach_Click(object sender, EventArgs e)
        {
            btn_LuuNgach.Enabled = true;
            btn_XoaNgach.Enabled = false;
            btn_SuaNgach.Enabled = false;
            btn_Huy.Enabled = true;

            txtMangach.Enabled = true;
            txtTenngach.Enabled = true;
            txtMangach.Text = "";
            txtTenngach.Text = "";
            lke_Loaingach.EditValue = "";
        }


        int demsua = 0;
        private void btn_SuaNgach_Click(object sender, EventArgs e)
        {
            demsua = 1;
            
            btn_LuuNgach.Enabled = true;
            btn_Huy.Enabled = true;

            txtTenngach.Enabled = true;

            lke_Loaingach.Enabled = true;
        }

        private void btn_LuuNgach_Click(object sender, EventArgs e)
        {
            string a = txtMangach.Text;
            string b = txtTenngach.Text;
            string c = "";

            QLNSServiceReference.NGACH ng = new QLNSServiceReference.NGACH();
            if (a == "")            {
                MessageBox.Show("Bạn chưa nhập mã ngạch!", "Cảnh báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                txtMangach.Focus();
            }
            if (b == "")
            {
                MessageBox.Show("Bạn chưa nhập tên ngạch!", "Cảnh báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                txtTenngach.Focus();
            }
            if (lke_Loaingach.EditValue.ToString() == "")
            {
                MessageBox.Show("Bạn chưa chọn loại ngạch!", "Cảnh báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                c = null;
                lke_Loaingach.Focus();
            }
            
            if(c!=null)
            {
                ng.Ma_Ngach = a;
                ng.TenNgach = b;
                ng.Ma_Loai_Ngach = c;

                if (demsua == 1)
                {
                    DialogResult dr = MessageBox.Show("Bạn có chắc muốn cập nhật lại thông tin?!", "Cảnh báo", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
                    if (dr == DialogResult.OK)
                    {
                        sv.updateNgach(ng);
                        LoadData();
                        demsua = 0;
                        MessageBox.Show("Cập nhật thông tin ngạch '"+txtTenngach.Text+"' mã '"+txtMangach.Text+"' thành công!", "Cảnh báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
                else
                {
                    int kq = sv.addNgach(ng);
                    if (kq != -1)
                    {
                        MessageBox.Show("Thêm ngạch '"+txtTenngach.Text+"' mã '"+txtMangach.Text+"' thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        LoadData();
                    }
                    else
                    {
                        MessageBox.Show("Mã ngạch đã tồn tại! Vui lòng xem lại!", "Cảnh báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        txtMangach.Focus();
                    }
                 }
            }
        }

        private void btn_XoaNgach_Click(object sender, EventArgs e)
        {
            DialogResult dr = MessageBox.Show("Bạn có chắc muốn xóa dữ liệu này?!", "CẢNH BÁO", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);
            if (dr == DialogResult.OK)
            {
                sv.deleteNgach(mangach);
                LoadData();
                MessageBox.Show("Xóa thành công!");
            }
        }

        private void btn_Huy_Click(object sender, EventArgs e)
        {
            demsua = 0;
            
            btn_LuuNgach.Enabled = false;
            btn_Huy.Enabled = false;
            btn_ThemNgach.Enabled = true;
            btn_XoaNgach.Enabled = false;
            btn_SuaNgach.Enabled = false;

            txtMangach.Enabled = false;
            txtTenngach.Enabled = false;
            lke_Loaingach.Enabled = false;
        }
    }
}
